
from flask import session, render_template, current_app

from . import news_blue

from info.models import User


@news_blue.route("/")
def index():
    """
      项目首页：
        1、页面右上角，检查用户登录状态，如果用户已登录，显示用户信息，否则提供登录注册入口
        2、使用请求上下文对象session从redis中获取user_id
        3、根据user_id查询mysql，获取用户信息
        4、传给模板
    """
    user_id = session.get("user_id")
    user = None
    # 如果有user_id, 查询mysql
    try:
        user = User.query.filter_by(id=user_id).first()
    except Exception as e:
        current_app.logger.error(e)
    # 定义字典，存储数据
    data = {
        "user_info": user.to_dict() if user else None
    }

    return render_template('news/index.html', data=data)




@news_blue.route("/favicon.ico")
def favicon():
    # 通过应用上下文对象，调用发送静态文件给浏览器
    return current_app.send_static_file('news/favicon.ico')